#!/bin/bash
function create_readme() {
cat >include/readme<<'EOF'
                                <<免责声明>>\n
    此脚本仅提供个人使用，不得用于任何商业用途！\n
    如果用户使用本脚本，即表明用户信任该脚本作者。\n
    脚本创作者对此脚本可造成的任何形式的损失和伤害不承担责任。\n\n
                                <<使用须知>>\n
    1.仅支持RHEL家族系统，最好使用CentOS，RHEL系列未经测试\n
    2.没有网络建议先创建本地的YUM仓库，再执行其他安装\n
    3.可能因为环境网络等因素导致安装失败\n
    4.安装日志记录在文件logs/env.log\n
    5.安装所需软件存放在packages下，详细目录结构，参看目录结构.txt\n
    6.软件安装位置，不建议随便更改，除非你明白，否则可能会误删系统文件\n
    7.精力有限，未测试全部平台;一堆Bug懒得搞\n
    8.本脚本所需要的所有软件均建议从官方网站下载，也通过下列地址下载：
      链接: https://pan.baidu.com/s/1IuyFlVAOMbtHYSAgHkBHyA 提取码: 399w
      链接：https://share.weiyun.com/8FVzTb5v 密码：vs9g6i\n\n
                                <<安装帮助>>\n
    1.nginx\n
      * 安装nginx需要编译安装zlib、openssl、pcre\n
      * 如果对zlib、openssl、pcre版本有要求，则只需替换packages/nginx/下
        相对应的安装包即可\n
      * packages/nginx下必须有zlib、openssl、pcre安装包，否则安装失败\n
      * nginx只支持安装tar.gz格式的源码包\n
      * PHP支持（此脚本默认已经启用PHP支持）：
        step1. 取消下面行的注释
             #location ~ \.php$ {
             #    root           html;
             #    fastcgi_pass   127.0.0.1:9000;
             #    fastcgi_index  index.php;
             #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
             #    include        fastcgi_params;
             #}
        step2. 
             修改
             fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
             为：
             fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
        step3. 访问http://IP/phpinfo.php检查PHP模块是否正常\n
    2.apache\n
      * 运行用户为apache
      * 安装nginx需要编译安装apr、arp-utils、pcre\n
      * 如果对apr、arp-utils、pcre版本有要求，则只需替换packages/nginx/下
        相对应的安装包即可\n
      * packages/nginx下必须有apr、arp-utils、pcre安装包，否则安装失败\n
      * apache仅支持安装tar.bz2格式的源码包\n
      * 下载地址：http://archive.apache.org/dist/httpd/#mirrors\n
      * PHP支持（此脚本默认已经启用PHP支持）：
        step1. 先安装Apache，然后再安装PHP，PHP安装时必须添加编译参数
                --with-apxs2=<你的apache安装位置>/bin/apxs
        step2. 修改httpd.conf配置文件
                1.DirectoryIndex index.html index.php #添加index.php
                2.在'AddType application/x-gzip .gz .tgz'后添加下面内容
                 AddType application/x-httpd-php-source .phps
                 AddType application/x-httpd-php .php
                3.检查LoadModule php7_module modules/libphp7.so是否有PHP模块
        stpe3. 访问http://IP/phpinfo.php检查PHP模块是否正常\n
    3.mysql\n
      * mysql文件比较大，建议离线安装\n
      * 离线安装文件存放位置packages/mysql/MySQL-<Version>/el{6|7|8}/*.rpm\n
      * 离线安装必须提供的包为server、client、common、devel、libs\n
      * 如果之前有安装过MySQL，则会被卸载，请注意\n
      * 如果未设置MySQL密码或者密码小于6位数，则密码为'MyPIo01_随机字符'\n
      * 如果MySQL密码为随机密码，请牢记\n
    4.PHP\n
      * PHP安装编译过程会输出一些警告错误信息，请忽略，不影响使用\n
    5.本地YUM仓库\n
      * 一定要使用和系统版本一致的iso镜像\n
      * 将系统光盘装入光驱或者虚拟机直接挂载iso镜像，则不用拷贝镜像文件到系统\n
    6.Redis\n
      * 不建议将此安装的redis用于生产环境，生产环境建议将节点分散到不同的服务器，
        以防单机故障导致整个集群服务不可用\n
      * 安装位置建议为'/path/redis'，安装会删除此目录，以防删除系统文件\n
      * 哨兵模式为1Master 2Slave及3个哨兵；集群模式3Master 3Slave\n
      * 哨兵及集群均需6个端口，如果安装时端口设置为6379，则端口规划如下
        哨兵端口：6379 6380 6381 26379 26380 26381
        集群端口：6379 6380 6381 6389 6390 6391\n
      * 服务管理脚本位于/etc/init.d/redis-*或者/etc/systemd/system/redis-*\n 
      * 验证
        集群模式：使用redis命令cluster info，cluster nodes验证
                  redis-cli -h <主机> -a <密码> -p 6379 cluster info
                  redis-cli -h <主机> -a <密码> -p 6379 cluster nodes
        哨兵模式：使用info Replication或info Sentinel命令查看
                  关闭当前master，然后检验是否切换选举出新的master
                  redis-cli -h <主机> -a <密码> -p 6379 info Replication|grep role \n
    7.JDK\n
      * JDK默认安装位置/usr/local\n
      * 安装前一定将JDK安装程序放置到packages/jdk目录，如：jdk-7u80-linux-x64.tar.gz，
        对版本没有要求，系统会自动识别\n
      * 如果安装后和预期的版本不一致，检查用户目录.bash_profile、.bashrc文件中是否
        配置了JDK环境变量，这里的优先级高于/etc/profile；如果问题依然无法解决，查看
        PATH变量，将JDK Bin目录调整到$PATH前面位置\n
    8.Jenkins\n
      * Jenkins安装会先检查packages/jenkins目录是否存在需要安装的版本，如果不存在则联网
        下载，如果网络不佳或者无网络，建议提前准备好安装包并放置packages/jenkins目录\n
      * 下载地址：https://mirrors.huaweicloud.com/jenkins/
                  https://mirrors.tuna.tsinghua.edu.cn/jenkins/
                  http://mirrors.jenkins-ci.org/\n
      * 如遇'An error occurred during installation: No such plugin: cloudbees-folder'
        错误，选择自定义安装插件，不选择任何插件，然后进入jenkins，可以直接跳过。直接
        创建管理帐号进入。在插件管理替换URL为下面地址(脚本默认已修改此地址)：
        https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json\n
      * 如果没有网络或网络较差，建议将下载好的插件打包为jenkins-plugins-<版本>.zip格式
        放到packages/jenkins目录，安装时会自动加载插件到jenkins，如果插件冲突或其他插件
        问题也可能引起Jenkins启动失败\n
      * 插件国内更新地址：
        清华：https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
        华为：https://mirrors.huaweicloud.com/jenkins/updates/update-center.json
      * 镜像加速：
        使用下面的命令替换官方地址，注意将${JENKINS_HOME}替换为实际位置：
        plugin_json="${JENKINS_HOME}/updates/default.json"
        offical_url1="https://updates.jenkins.io/download"
        offical_url2="https://www.jenkins-ci.org/download"
        tsinghua_url="https://mirrors.tuna.tsinghua.edu.cn/jenkins"
        sed -i 's#${offical_url1}#${tsinghua_url}#g' ${plugin_json}
        sed -i 's#${offical_url2}#${tsinghua_url}#g' ${plugin_json}
        sed -i 's#http://www.google.com#https://www.baidu.com#g' ${plugin_json}\n
    9.Nexus\n
      * 下载地址：https://help.sonatype.com/repomanager3/download\n
      * 将tar.gz格式的安装包放至packages/nexus目录\n
      * 系统要求：https://help.sonatype.com/repomanager2/system-requirements\n
      * JRE要求
        -------------------------------------------------------------------------    
        | Jenkins版本      | Sun或Oracle JRE版本要求                             |
        |-----------------------------------------------------------------------|
        | 1.9及之前版本    | 5 或 6                                              |
        |-----------------------------------------------------------------------|
        | 2.0-2.5          | 6 或 7                                              |
        |-----------------------------------------------------------------------|
        | 2.6.x            | 7u45以上版本；8不支持                               |
        |-----------------------------------------------------------------------|
        | 2.7.x-2.9.x      | 7u45以上版本；8可能使用，但是未测试                |
        |-----------------------------------------------------------------------|
        | 2.10.x-2.11.1    | 7u45以上版本及8u25以上版本                         |
        |-----------------------------------------------------------------------|
        | 2.11.2-2.13.0    | 强烈推荐8u31以上版本；7u79以上版本                 |
        |-----------------------------------------------------------------------|
        | 2.14.0-2.14.1    | 最新8版本；7可能使用，但是未测试，也不再提供支持   |
        |-----------------------------------------------------------------------|
        | 2.14.11+         | 最新8版本，此版本及此后版本不再支持7启动           |
        |-----------------------------------------------------------------------|\n
      * 国内的Maven2仓库代理地址：
        阿里：https://maven.aliyun.com/repository/public
        华为：https://mirrors.huaweicloud.com/repository/maven/
        网易：http://mirrors.163.com/maven/repository/maven-public/\n
    10.Docker\n
      * 安装过程会先检测packages/docker目录，是否存在需要安装的版本，如果存在则尝试
        使用离线安装，如果离线安装失败，则尝试使用在线安装\n
      * 安装docker过程会附加安装docker-compose，Compose是用于定义和运行多容器Docker应用
        程序的工具，此工具安装失败，不影响docker使用，你可以将docker-compose离线安装包放
        到packages/docker目录，如docker-compose-Linux-x86_64
        github: https://github.com/docker/compose\n
      * 理论上docker-ce-17.03 离线安装需要的包为docker-ce、docker-ce-selinux，其他
        版本需要的包为docker-ce、docker-ce-cli、containerd.io、container-selinux\n
    11.SVN\n
      * 此脚本安装的是CollabNet Subersion Edge，
        下载地址：https://www.collab.net/downloads/subversion\n
      * 如果你的软件版本比较旧，请使用JDK6或JDK7，新版JDK可能无法正常工作\n
      * 默认启用HTTPS，如果需要修改端口等配置，请访问管理控制台去修改，默认账户密码为admin/admin\n
      * 默认支持安装多个版本的CSVN，但只能其中一个版本支持开机启动，其他的安装版本需要开机启动，需
        创建软连接bin/csvn，bin/csvn-httpd到/etc/init.d\n\n
                                <<联系方式>>\n
        Mail：flylin.tan@hotmail.com\n
        Q Q ：373686901\n
        有问题，联系了也没用。\n\n
                                <<打赏作者>>\n
EOF
echo -e "        支付宝
`qrencode -s 1 -t UTF8 "https://qr.alipay.com/fkx06597oo3g9ifzpaw8q0c?t=1589350684625" 2>/dev/null|sed 's/^/        /g'`  
        微信 
`qrencode -s 1 -t UTF8 "wxp://f2f09V1aq94AoELV0b4v8pDmbQ5yIrMl8IQI" 2>/dev/null|sed 's/^/        /g'` " >>include/readme

}

function readme() {
    if [ ! -f include/readme ];then
        create_readme
    fi  
    msg=`cat include/readme`
    whiptail --backtitle "Author: Elvis" --scrolltext --title "说明" --ok-button "返回" --msgbox "$msg" 25 100
    sleep 0.15
}
